From: Florian Müllner Date: Wed, 31 Jan 2024 17:32:15 +0000 (+0100) Subject: notificationDaemon: Use registered D-Bus error X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~281^2~2^2~49 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f38e3f4b5d2597fa8b32939d8000b90835111d11;p=gnome-shell.git notificationDaemon: Use registered D-Bus error Instead of returning ad-hoc errors, register a custom error domain and return appropriate GLib.Errors. Part-of: --- diff --git a/js/misc/dbusErrors.js b/js/misc/dbusErrors.js index f59add314..6cb8a83b1 100644 --- a/js/misc/dbusErrors.js +++ b/js/misc/dbusErrors.js @@ -34,3 +34,10 @@ const modalDialogErrorNames = [ export const ModalDialogErrors = registerErrorDomain('ModalDialog', modalDialogErrorNames); export const ModalDialogError = createErrorEnum(modalDialogErrorNames); + +const notificationErrorNames = [ + 'InvalidApp', +]; +export const NotificationErrors = + registerErrorDomain('Notifications', notificationErrorNames, 'org.gtk'); +export const NotificationError = createErrorEnum(notificationErrorNames); diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js index cec670dd0..899a97516 100644 --- a/js/ui/notificationDaemon.js +++ b/js/ui/notificationDaemon.js @@ -12,6 +12,7 @@ import * as MessageTray from './messageTray.js'; import * as Params from '../misc/params.js'; import {loadInterfaceXML} from '../misc/fileUtils.js'; +import {NotificationErrors, NotificationError} from '../misc/dbusErrors.js'; const FdoNotificationsIface = loadInterfaceXML('org.freedesktop.Notifications'); @@ -694,7 +695,8 @@ class GtkNotificationDaemon { source = this._ensureAppSource(appId); } catch (e) { if (e instanceof InvalidAppError) { - invocation.return_dbus_error('org.gtk.Notifications.InvalidApp', + invocation.return_error_literal(NotificationErrors, + NotificationError.INVALID_APP, `The app by ID "${appId}" could not be found`); return; }